package com.imooc.course.server.utils;

import com.imooc.course.server.exception.ValidatorException;
import org.springframework.util.StringUtils;

public class ValidatorUtil {

    /**
     * 不能为null & ""
     * @param o 被检查对象
     * @param fieldName 被检查对象的名字
     */
    public static void notNull(Object o, String fieldName) {
        if (StringUtils.isEmpty(o)) {
            throw new ValidatorException(fieldName + "不能为空！");
        }
        if(o instanceof String){
            if (((String)o).trim().length()==0) {
                throw new ValidatorException(fieldName + "不能为空！");
            }
        }
    }

    /**
     * 检查字符串长度至少小min，最大为max
     * @param str 被检查对象
     * @param fieldName 被检查对象的名称
     * @param min 最小长度
     * @param max 最大长度
     */
    public static void minimumToMaximum(String str, String fieldName, int min, int max) {
        if (StringUtils.isEmpty(str)) {
            //如果str为空，就不检查了。让检查长度的方法只检查长度，是否为空，不检查。
            return;
        }
        int length = 0;
        if (!StringUtils.isEmpty(str)) {
            length = str.trim().length();
        }
        if (length < min || length > max) {
            throw new ValidatorException(fieldName + "长度" + min + "~" + max + "位");
        }
    }

}
